package com.shengqin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shengqin.calculate.data.CalculateSummaryModel;
import com.shengqin.common.pojo.CommonPage;
import com.shengqin.entity.Plan;
import com.shengqin.entity.SummaryResult;
import com.shengqin.entity.TestResult;
import com.shengqin.pojo.plan.PlanQueryParam;
import com.shengqin.pojo.summary.SummaryModel;
import com.shengqin.pojo.summary.SummaryQueryParam;

import java.util.Collection;
import java.util.List;
import java.util.Map;

public interface ISummaryResultService extends IService<SummaryResult> {

    boolean batchSummaryResult(List<TestResult> resultList);

    Page<SummaryResult> getPage(CommonPage<SummaryResult> queryPage);

    List<SummaryResult> getExportList(SummaryResult queryParam);

    List<SummaryResult> listByPlanId(PlanQueryParam planQueryParam);

    List<Plan> queryPlanList(SummaryQueryParam queryParam);

    Map<String, Object> queryData(SummaryQueryParam queryParam);

    boolean singleSummaryResult(CalculateSummaryModel model);

    void updateStudentInfo(Integer planId);

    void clearSummaryResult(TestResult testResult);

    SummaryResult queryStudyCodeAndPlanId(String studyCode, Integer planId);

    List<SummaryResult> queryStudyCodesAndPlanId(List<String> studyCodeList, Integer planId);
}
